Networks facilitate the exchange of information between network clients. Hosts exchange information via the network by sending the information to an adjacent network infrastructure device, such as a router or access point, and the infrastructure device then forwards the information through the network to the receiving host. Infrastructure devices may also exchange information to aid in basic functions of the network, such as routing.
While many technologies have been devised to create networks, a very common mechanism is to use address based forwarding whereby information to be transmitted over the network is first prepended with forwarding based information such as source and destination addresses in a packet, and the addresses are used to forward the packet to the destination. To simplify the configuration of networks, the infrastructure devices support mechanisms to automatically learn the paths to forward information between clients. This is typically done in a distributed fashion, where each infrastructure device independently determines its own forwarding decisions based on addresses. An example of this is an Ethernet switch that supports media access control (MAC) address learning and forwarding which may include storing the MAC source address of a received packet and a port on which the packet is received. Then, if packets are received that are destined for the stored MAC address, they are forwarded on the corresponding port.